home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / docs / corsoguide / menustrutt-19.txt < prev    next >
Text File  |  1992-09-03  |  4KB  |  132 lines

  1. Le strutture per i menù
  2.  
  3. Le strutture utilizzate per definire un menù sono due: Menu e MenuItem; la
  4. prima serve per definire i titoli dei menù, la seconda serve per definire
  5. un'opzione del menù.
  6.  
  7. struct Menu
  8. {
  9.   struct Menu *NextMenu;
  10.   WORD LeftEdge, TopEdge;
  11.   WORD Width, Height;
  12.   UWORD Flags;
  13.   BYTE *MenuName;
  14.   struct MenuItem *FirstItem;
  15.   WORD JazzX, JazzY, BeatX, BeatY;
  16. };
  17.  
  18. NextMenu
  19. Puntatore al prossimo titolo del menù.
  20.  
  21. LeftEdge, TopEdge, Width, Height
  22. Posizione e grandezza del box di selezione del titolo del menù.
  23.  
  24. Flags
  25. - MENUENABLED
  26.   se presente indica che questo menù è abilitato, altrimenti risulta
  27.   disabilitato; in tal caso le opzioni e le sotto-opzioni del menù saranno
  28.   mascherati e l'utente non potrà selezionarli.
  29. - MIDRAWN
  30.   questo flag indica che il menù è correntemente visualizzato all'utente.
  31.  
  32. MenuName
  33. Puntatore alla stringa che verrà visualizzata come titolo del menù.
  34.  
  35. FirstItem
  36. Questo punta alla struttura MenuItem indicante la prima opzione di questo
  37. menù.
  38.  
  39. JazzX, JazzY, BeatX, BeatY
  40. Valori utilizzati solo dal sistema
  41.  
  42. struct MenuItem
  43. {
  44.   struct MenuItem *NextItem;
  45.   WORD LeftEdge, TopEdge;
  46.   WORD Width, Height;
  47.   UWORD Flags;
  48.   LONG MutualExclude;
  49.   APTR ItemFill;
  50.   APTR SelectFill;
  51.   BYTE Command;
  52.   struct MenuItem *SubItem;
  53.   UWORD NextSelect;
  54. };
  55.  
  56. NextItem
  57. Puntatore al prossimo MenuItem della lista delle opzioni.
  58.  
  59. LeftEdge, TopEdge, Width, Height
  60. Posizione e grandezza del box di selezione dell'opzione.
  61.  
  62. Flags
  63. - CHECKIT
  64.   indica al sistema che questa opzione è un attributo e che deve visualizzare
  65.   il checkmark se il flag CHECKED è impostato
  66. - CHECKED
  67.   se CHECKIT è impostato, indica che questa opzione attributo è selezionata
  68. - ITEMTEXT
  69.   se questo flag è impostato, indica che i campi ItemFill e SelectFill
  70.   contengono puntatori a strutture IntuiText per il rendering dell'opzione;
  71.   altrimenti contengono puntatori a strutture Image
  72. - COMMSEQ
  73.   se questo flag è settatto, l'opzione contiene una scorciatoia
  74. - MENUTOGGLE
  75.   usato insieme a CHECKIT; se questo flag è impostato l'opzione può essere
  76.   deselezionata ricliccandola
  77. - ITEMENABLED
  78.   se impostato indica che l'opzione è abilitata alla selezione, altrimenti è
  79.   disabilitata
  80. - HIGHFLAGS
  81.   i flag descritti qui di seguito, indicano il tipo di illuminazione:
  82.   - HIGHCOMP
  83.     si effettua il complemento di tutti i bits del box di selezione
  84.   - HIGHBOX
  85.     disegna un rettangolo attorno all'opzione
  86.   - HIGHIMAGE
  87.     isualizza un testo o un immagine alternativa (dipende da ITEMTEXT)
  88.   - HIGHNONE
  89.     nessuna illuminazione
  90.  
  91. i seguenti flags sono utilizzati solo da intuition:
  92. - ISDRAWN
  93. Intuition imposta questo flag quando il sotto-menù di questa opzione è
  94. visualizzato
  95. - HIGHITEM
  96. Intuition imposta questo flag quando l'opzione è illuminata.
  97.  
  98. MutualExclude
  99. Questo valore indica quale altre opzioni attrributo del menù devono essere
  100. mutualmente escluse dalla selezione dell'opzione; ogni bit di questa LONG
  101. rappresenta un'opzione; le opzioni mutualmente escludibili sono le prime 32
  102.  
  103. ItemFill
  104. Puntatore ai dati utilizzati per il rendering dell'opzione; nel caso sia
  105. settato il flag ITEMTEXT nel campo Flags questo campo punta ad una struttura
  106. IntuiText, altrimenti punterà ad una struttura Image; attenzione, più
  107. strutture IntuiText (o Image) linkate insieme mediante il campo Next....
  108. verranno visualizzate insieme; questo permette di creare rendering complessi
  109. anche utilizzando semplici testi.
  110.  
  111. SelectFill
  112. Se il flag HIGHIMAGE è settato nel campo Flags, allora questo campo deve
  113. possedere un puntatore a struttura IntuiText o Image per il rendering nella
  114. fase di illuminazione; se specificato ITEMTEXT nel campo Flags, questo campo
  115. deve puntatore ad una struttura IntuiText, altrimenti deve puntare ad una
  116. struttura Image.
  117.  
  118. Command
  119. Questo è un valore char che contiene il codice ASCII del tasto di
  120. scorciatoia; tale valore sarà valido se specificato COMMSEQ nel campo Flags;
  121. il tasto verrà visualizzato insieme all'immagine del tasto Amiga sulla
  122. destra dell'opzione.
  123.  
  124. SubItem
  125. Puntatore alla struttura MenuItem della prima opzione del sottomenù; non
  126. utilizzare questo campo nel caso l'opzione faccia già parte di un sotto-menù,
  127. in tal caso infatti il sistema ignorerà tale campo.
  128.  
  129. NextSelect
  130. Questo campo è scritto da Intuition per indicare all'applicazione quali sono
  131. gli altri elementi selezionati dall'utente in caso di multi-selezione.
  132.